package com.fileupload.upload;

import com.fileupload.config.MonitorConfig;
import java.io.File;

/**
 * 文件上传服务接口
 * @author 小乙
 */
public interface FileUploadService {
    
    /**
     * 上传文件到指定服务器
     * 
     * @param file 要上传的文件
     * @param monitorConfig 监控配置信息
     * @throws Exception 上传过程中的异常
     */
    void uploadFile(File file, MonitorConfig monitorConfig) throws Exception;
    
    /**
     * 上传完成后处理文件
     * 
     * @param file 已上传的文件
     * @param monitorConfig 监控配置信息
     * @param success 是否上传成功
     */
    void processAfterUpload(File file, MonitorConfig monitorConfig, boolean success);
    
    /**
     * 创建上传完成标记文件
     * 
     * @param serverId 服务器ID
     * @param fileName 上传的文件名
     * @param monitorConfig 监控配置信息
     * @throws Exception 创建标记文件过程中的异常
     */
    void createFinishFlagFile(String serverId, String fileName, MonitorConfig monitorConfig) throws Exception;
}